package com.majsubtense.core.achievements;

public abstract class Achievement {
    private final AchievementType<? extends Achievement> achievementType;
    private boolean isFinished = false;
    private final String achievementMessage;

    public Achievement(AchievementType<? extends Achievement> achievementType, String achievementMessage) {
        this.achievementType = achievementType;
        this.achievementMessage = achievementMessage;
    }

    public String getAchievementMessage() {
        return achievementMessage;
    }

    public boolean isFinished() {
        return isFinished;
    }

    public void setFinished(boolean finished) {
        isFinished = finished;
    }

    public abstract void finishAchievement();

    public AchievementType<? extends Achievement> getAchievementType() {
        return achievementType;
    }
}
